1. Field of the Invention
The present invention relates in general to methods and apparatus for electronic data transmission, and in particular to a system and method for efficiently and accurately transmitting information on a data bus in the presence of noise.
2. Background Information
A data bus commonly consists of lines for transferring data words between devices within a computer. A data word is made up of data bits transmitted as varying voltages on the data bus lines. Noise, interference, or other events such as ground voltage shifts between transmitter and receiver alter the signal such that what is sent may not be what is received. The possibility of signal alteration, whether or not it actually occurs, creates a need for ways to improve signal integrity. Both hardware and software solutions have been considered in the development of accurate data transmission methods.
One method of improving signal integrity is to run a separate ground line between the transmitter and receiver. The ground line voltage is used as a reference voltage. The difference between the data signal received at the receiver and the ground line voltage at the receiver is used to determine the signal polarity. One problem with this method is that it is not precise--the margin of error inherent in measuring voltage levels at the receiver may either mask or exaggerate voltage level variations due to noise. In addition, since the interfering source may effect the ground reference line differently than the signal lines, there is an increase in the probability of transmission errors. Many applications have a need, however, for highly accurate message transfer.
Another message verification method is to run a differential line for each data line. According to this method there are two lines for every channel between the transmitter and the receiver. The first line carries the signal and the second line carries the complement of that signal (for example, where the first line value is `1`, the second line value is `0`). The message being transferred is represented by the difference between the two signals. Any ground voltage shifts occurring during transmission equally affect both lines, so there is no net effect on the message because the difference between the two lines remains constant. Also, because the ground return currents, created by the two lines, are equal in amplitude and opposite in polarity, the noise generated by simultaneously switched outputs (SSO noise) will be minimized. One of the primary benefits of this method is that it requires no local reference value. The weakness is that it doubles both the number of pins used on the ICs and the number of conductors used in the transmission lines.
U.S. patent application Ser. No. 08/971185, entitled "Spacial Derivative Bus Encoder and Decoder" filed Nov. 17, 1997 by Mansur and assigned to the present assignee, describes one method for providing efficient and accurate electronic data transmission of information on a data bus in the presence of noise. The method uses a spacial derivative encoder to encode data signals received on N input lines onto N+1 output lines. The data on the N input lines can be recovered at a receiver using a spacial derivative decoder to recover the signals from the N+1 output lines.
The approach taught by Mansur does reduce the number of lines needed to transfer signals, while still providing rejection of common mode noise and cancellation of net ground return current transients. It does not, however, compensate for coupling between adjacent conductors (crosstalk). Furthermore, it has a high sensitivity to sources of random noise. There is a need, therefore, for a system and method of encoding signals which not only reduces the number of signal lines required to transfer data from a plurality of wires but which also reduces signal degradation due to common mode noise, crosstalk, simultaneous switching, ground bounce due to power transients and electromagnetic interference (EMI).